home *** CD-ROM | disk | FTP | other *** search
/ Celestin Apprentice 4 / Apprentice-Release4.iso / Languages / Caml Light 0.7 / Caml Light 0.7 source / CHANGES next >
Text File  |  1995-07-05  |  11KB  |  113 lines

  1. erface (POSIX termios), popen-style functions.
  2.  
  3. Caml Light 0.5:
  4. ---------------
  5.  
  6. Language extensions:
  7.  
  8. * Streams and stream matching, for writing parsers and printers.
  9.  
  10. * Abstract types can now be implemented as type abbreviations.
  11.  
  12. * Constructors for variant types are now either constant or
  13. non-constant, instead of having a fixed arity as before. This fixes
  14. the nasty problem of ref(1,2) being rejected because ref has arity 1.
  15.  
  16. Extensions to the caml light environment:
  17.  
  18. * A general mechanism to link Caml Light code with C code. As a
  19. consequence, an X-windows interface and a library of Unix system calls
  20. are now provided.
  21.  
  22. * Two new commands: camllibr, to build libraries, and camlmktop, to
  23. construct custom toplevel systems.
  24.  
  25. * Several new modules in the library (printf, hashtbl, random, stack,
  26. queue, ...)
  27.  
  28. * Executable bytecode files are now machine-independent: you can run
  29. the same bytecode file on different architectures.
  30.  
  31. Bug fixes: lots of them. The most important are:
  32.  
  33. * Pattern-matching over mutable structures is now correctly compiled:
  34. modifying the matched structure after matching, then accessing parts
  35. of the structure used to fail in various ways; this is now safe.
  36.  
  37. * Redefinition of exceptions is now correctly handled.
  38.  
  39. Implementation changes:
  40.  
  41. * A new garbage collector. The major collector is now incremental,
  42. meaning that garbage collection is even less disruptive than before.
  43.  
  44. * The produced bytecode is slightly better, due to several new
  45. optimizations in the compiler back-end.
  46.  
  47. * The linker has been separated from the compiler, and is now clever
  48. enough to avoid linking in useless code. To support this, the format
  49. of .zo files was changed. The new format is much more compact, loads
  50. faster, and supports libraries.
  51.  
  52. * Autoconfiguration script.
  53.  
  54. Microcomputer ports:
  55.  
  56. * Graphics primitives.
  57.  
  58. * For the Macintosh port, the toplevel system is now a standalone
  59. application, with its own user interface, and does not require MPW
  60. anymore. (The batch compilers still require MPW.)
  61.  
  62. * The PC ports work in conjunction with TSR line editors.
  63.  
  64. * The 80386 PC port is now VCPI-compliant, and handles keyboard
  65. interrupts correctly.
  66.  
  67. Main incompatibilities with Caml Light 0.41:
  68.  
  69. * Assignment operations such as :=, vect_assign, <- now return (), instead
  70. of the new value.
  71.  
  72. * The "failure" exception from the standard library is now named "Failure".
  73.  
  74. * Searching functions from the standard library (assoc, assq, ...) now
  75. raise "Not_found" on error, instead of "failure".
  76.  
  77. * Some library modules have been renamed or modified. The old "unix"
  78. module is now named "sys". The new "sys" module is less Unix-specific.
  79. Some of the functions in the old "unix" module have disappeared, other
  80. have a slightly different interface. The old "hash" module is now
  81. subsumed by the "hashtbl" module.
  82.  
  83.  
  84. Caml Light 0.41:
  85. ----------------
  86.  
  87. * Alternate spelling for floating-point operators: +. -. *. etc.
  88.  
  89. * New library functions: io__input_line, lexing__create_lexer_string.
  90.  
  91. * io__seek*, io__pos* more efficient.
  92.  
  93.  
  94. Caml Light 0.4:
  95. ---------------
  96.  
  97. * A lexer generator (in the style of lex) and a parser generator (in
  98.   the style of yacc). These tools makes it easier to write compilers
  99.   and similar programs. They also clean up the bootstrapping process a lot.
  100.  
  101. * Two new ports to microcomputers: to the 386 PC, and to the Amiga.
  102.   The 386 PC version runs in 32 bit protected mode, and takes
  103.   advantage of memory above 640K.
  104.  
  105. * Many bug fixes.
  106.  
  107. * A simpler installation procedure.
  108.  
  109. Caml Light 0.3:
  110. ---------------
  111.  
  112. * First public release.
  113.